import { get, post } from './request.js'
import { API_CONFIG } from './config.js'

/**
 * 用户相关API接口
 */
export const userAPI = {
  /**
   * 手机号登录
   * @param {Object} data - 登录参数
   * @param {string} data.mobile - 手机号
   * @param {string} data.code - 验证码
   * @returns {Promise} 返回Promise对象
   */
  mobileLogin(data) {
    return post(API_CONFIG.API.MOBILE_LOGIN, data)
  },
  
  /**
   * 账号登录
   * @param {Object} data - 登录参数
   * @param {string} data.username - 用户名
   * @param {string} data.password - 密码
   * @param {string} data.cid - 验证码ID
   * @param {string} data.code - 验证码
   * @returns {Promise} 返回Promise对象
   */
  accountLogin(data) {
    return post(API_CONFIG.API.ACCOUNT_LOGIN, data)
  },
  
  /**
   * 获取手机验证码
   * @param {Object} params - 请求参数
   * @param {string} params.mobile - 手机号
   * @returns {Promise} 返回Promise对象
   */
  sendMes(data) {
    return post(API_CONFIG.API.SENDMES, data)
  },
  
  /**
   * 账号注册
   * @param {Object} data - 注册参数
   * @returns {Promise} 返回Promise对象
   */
  register(data) {
    return post(API_CONFIG.API.REGISTER, data)
  },
  
  /**
   * 获取图形验证码
   * @returns {Promise} 返回Promise对象
   */
  getCaptcha() {
    return get(API_CONFIG.API.CAPTCHA)
  },
  
  /**
   * 获取分类列表
   * @param {Object} params - 请求参数
   * @returns {Promise} 返回Promise对象
   */
  categoryList(data) {
    return get(API_CONFIG.API.categoryList, data)
  },
  
  /**
   * 获取应用列表
   * @param {Object} params - 请求参数
   * @param {number} params.page - 当前页码
   * @param {number} params.pageSize - 每页数量
   * @param {string} params.id - 应用ID
   * @param {string} params.categoryId - 分类ID
   * @returns {Promise} 返回Promise对象
   */
  appList(params) {
    return get(API_CONFIG.API.appList, params)
  },
  
  /**
   * 添加收藏
   * @param {Object} data - 请求参数
   * @param {string} data.appId - 应用ID
   * @returns {Promise} 返回Promise对象
   */
  addFavorite(data) {
    return post(API_CONFIG.API.addFavorite, data)
  },
  
  /**
   * 获取收藏列表
   * @param {Object} params - 请求参数
   * @param {number} params.page - 当前页码
   * @param {number} params.pageSize - 每页数量
   * @returns {Promise} 返回Promise对象
   */
  getFavoriteList(params) {
    return get(API_CONFIG.API.favoriteList, params)
  },

  getUserInfo() {
    return get(API_CONFIG.API.USER_INFO)
  },
  getMemberInfo(headers) {
    return get(API_CONFIG.API.MEMBER_INFO,{},headers)
  },
  
  /**
   * 聊天接口（流式输出）
   * @param {Object} data - 请求参数
   * @param {string} data.appId - 应用ID
   * @param {Object} data.body - 请求体
   * @param {Object} data.body.inputs - 输入参数
   * @param {string} data.body.query - 查询内容
   * @returns {Promise} 返回Promise对象
   */
  appMessages(data) {
    return post(API_CONFIG.API.appMessages, data)
  }
}

/**
 * 导出所有API
 */
export default {
  user: userAPI
}

/**
 * 套餐相关API接口
 */
export const packageAPI = {
  /**
   * 获取套餐列表
   * @returns {Promise} 返回Promise对象
   */
  getPackageList() {
    return get(API_CONFIG.API.packageList)
  },

  
  
  /**
   * 套餐支付接口
   * @param {Object} params - 支付参数
   * @param {string} params.packageId - 套餐ID
   * @param {string} params.payType - 支付类型
   * @param {string} params.tradeType - 交易类型
   * @param {string} params.returnUrl - 回调地址
   * @returns {Promise} 返回Promise对象
   */
  packagePayment(data) {
    return post(API_CONFIG.API.packageBuy, data)
  },


}
export const wechatAPI = {
  wechatUrl(params) {
    return get(API_CONFIG.API.wechatUrl,params)
  },
  wechatBind(params) {
    return get(API_CONFIG.API.wechatBind, params)
  },
  wechatCallBack(params) {
    return get(API_CONFIG.API.wechatCallBack, params)
  }
};

/**
 * 代理商相关API接口
 */
export const agentAPI = {
  /**
   * 代理商申请
   * @param {Object} data - 申请参数
   * @param {string} data.name - 用户名
   * @param {string} data.mobile - 手机号
   * @returns {Promise} 返回Promise对象
   */
  agentApply(data) {
    return post(API_CONFIG.API.AGENT_APPLY, data)
  },
  agentBuy(data) {
    return post(API_CONFIG.API.AGENT_BUY, data)
  }
}